From fd934d30b5781bdbebab1b3f724296855d9df0a1 Mon Sep 17 00:00:00 2001 From: "kaf24@scramble.cl.cam.ac.uk" Date: Wed, 16 Apr 2003 18:44:01 +0000 Subject: [PATCH] bitkeeper revision 1.174.1.1 (3e9da471qg3yz_feoqPtr18G7aJ8UA) ptrace.h, traps.c: Fix ring privilege checking in Xenolinux (OS runs in ring 1, not ring 0). --- xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/traps.c | 2 +- xenolinux-2.4.21-pre4-sparse/include/asm-xeno/ptrace.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/traps.c b/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/traps.c index a10c07a0ae..c218067d2a 100644 --- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/traps.c +++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/traps.c @@ -364,7 +364,7 @@ asmlinkage void do_debug(struct pt_regs * regs, long error_code) /* If this is a kernel mode trap, save the user PC on entry to * the kernel, that's what the debugger can make sense of. */ - info.si_addr = ((regs->xcs & 3) == 0) ? (void *)tsk->thread.eip : + info.si_addr = ((regs->xcs & 2) == 0) ? (void *)tsk->thread.eip : (void *)regs->eip; force_sig_info(SIGTRAP, &info, tsk); diff --git a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/ptrace.h b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/ptrace.h index 83a1115ed6..4457ac0b17 100644 --- a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/ptrace.h +++ b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/ptrace.h @@ -55,7 +55,7 @@ struct pt_regs { #define PTRACE_O_TRACESYSGOOD 0x00000001 #ifdef __KERNEL__ -#define user_mode(regs) ((regs) && (3 & (regs)->xcs)) +#define user_mode(regs) ((regs) && (2 & (regs)->xcs)) #define instruction_pointer(regs) ((regs) ? (regs)->eip : NULL) extern void show_regs(struct pt_regs *); #endif -- 2.30.2